import { defineStore } from 'pinia'
import { reactive } from 'vue'

const useUser = defineStore('user', () => {
	const defaultUser = {
		isLogin: false,
		username: '',
		avatar: ''
	}
	const user = reactive(Object.assign({}, defaultUser))
	const updateUser = options => {
		Object.assign(user, options)
		return user
	}
	const removeUser = () => {
		Object.assign(user, defaultUser)
		return user
	}
	return {
		user,
		updateUser,
		removeUser
	}
}, {
	persist: {
		enabled: true,
		strategies: [{
			key: 'user',
			storage: localStorage
		}]
	}
})
export default useUser